<!DOCTYPE html>
<html>
<head><meta name="generator" content="Hexo 3.8.0">
  <meta charset="utf-8">
  <title>一种 Git-workflow 介绍 | 极客世界</title>
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <link rel="shortcut icon" href="/favicon.ico">
  <link rel="stylesheet" href="/css/app.css">
  <!-- <link rel='stylesheet' href='http://fonts.useso.com/css?family=Source+Code+Pro'> -->
  
</head>
</html>
<body>
  <nav class="app-nav">
  
    
      <a href="/.">home</a>
    
  
    
      <a href="/archives">archive</a>
    
  
    
      <a href="/atom.xml">rss</a>
    
  
</nav>

  <main class="post">
  <article>
  <h1 class="article-title">
    <a href="/2020/02/12/git-workflow-leju/">一种 Git-workflow 介绍</a>
  </h1>

  <section class="article-meta">
    <p class="article-date">February 12 2020</p>
  </section>

  <section class="article-entry">
    <div id="content">

<div id="outline-container-orgb199b46" class="outline-2">
<h2 id="orgb199b46">Git-workflow</h2>
<div class="outline-text-2" id="text-orgb199b46">
<p>
Git &#x4F5C;&#x4E3A;&#x4E00;&#x4E2A;&#x81EA;&#x7531;&#x5EA6;&#x6781;&#x9AD8;&#x7684;&#x8F6F;&#x4EF6;&#xFF0C;&#x5728;&#x56E2;&#x961F;&#x914D;&#x5408;&#x7684;&#x65F6;&#x5019;&#x7ECF;&#x5E38;&#x4F1A;&#x56E0;&#x4E3A;&#x6BCF;&#x4E2A;&#x4EBA;&#x7684;&#x4E60;&#x60EF;&#x4E0D;&#x540C;&#xFF0C;&#x4EE5;&#x53CA;&#x5DE5;&#x4F5C;&#x6D41;&#x7A0B;&#x4E0D;&#x540C;&#x9020;&#x6210;&#x4E00;&#x4E9B;&#x5728;&#x4F7F;&#x7528;&#x4E2D;&#x4E0D;&#x77E5;&#x6240;&#x63AA;&#x7684;&#x60C5;&#x51B5;&#x3002;&#x6709;&#x4EBA;&#x4F1A;&#x4E0B;&#x7ED3;&#x8BBA;&#xFF0C;&#x8FD9;&#x4E2A;&#x8F6F;&#x4EF6;&#x4E0D;&#x597D;&#x7528;&#xFF0C;&#x5C31;&#x8D70;&#x5F00;&#x4E86;&#x3002;
</p>

<p>
&#x6709;&#x4E9B;&#x4EBA;&#x9488;&#x5BF9;&#x8FD9;&#x4E2A;&#x60C5;&#x51B5;&#x505A;&#x4E86;&#x4E00;&#x4E9B;&#x5C1D;&#x8BD5;&#xFF0C;&#x8BBE;&#x5B9A;&#x4E86;&#x4E00;&#x4E9B;&#x89C4;&#x5219;&#xFF0C;&#x8FDB;&#x884C;&#x4E86;&#x5B9E;&#x8DF5;&#x3002;&#x603B;&#x7ED3;&#x4E86;&#x4E00;&#x4E9B;&#x5E94;&#x7528;&#x65B9;&#x6CD5;&#xFF0C;&#x8FD9;&#x6837;&#x4E00;&#x6765; Git &#x7684;&#x7075;&#x6D3B;&#x6027;&#x8FD8;&#x5728;&#xFF0C;&#x56E2;&#x961F;&#x6210;&#x5458;&#x6839;&#x636E;&#x63CF;&#x8FF0;&#x7684;&#x89C4;&#x5219;&#x6765;&#x914D;&#x5408;&#xFF0C;&#x5C31;&#x5F88;&#x8212;&#x9002;&#x3002;
</p>

<p>
&#x4E00;&#x4E2A;&#x597D;&#x7684; workflow &#x5E94;&#x8BE5;&#x5177;&#x5907;&#x4EE5;&#x4E0B;&#x51E0;&#x4E2A;&#x539F;&#x5219;:
</p>

<ul class="org-ul">
<li>&#x5728;&#x56E2;&#x961F;&#x89C4;&#x6A21;&#x6269;&#x5927;&#x4E4B;&#x540E;&#x4ECD;&#x7136;&#x80FD;&#x7075;&#x6D3B;&#x7684;&#x9002;&#x5E94;&#x65B0;&#x573A;&#x666F;&#x3002;</li>
<li>&#x5F53;&#x51FA;&#x73B0;&#x95EE;&#x9898;&#x7684;&#x65F6;&#x5019;&#x53EF;&#x4EE5;&#x5FEB;&#x901F;&#x7684;&#x89E3;&#x51B3;&#x548C;&#x4FEE;&#x590D;,&#x6216;&#x8005;&#x56DE;&#x6EDA;&#x3002;</li>
<li>&#x4E0D;&#x5E94;&#x8BE5;&#x7ED9;&#x539F;&#x6709;&#x7684;&#x5DE5;&#x4F5C;&#x6D41;&#x7A0B;&#x589E;&#x52A0;&#x8D1F;&#x62C5;&#xFF0C;&#x548C;&#x5FC5;&#x8981;&#x7684;&#x5DE5;&#x4F5C;&#x5185;&#x5BB9;&#x7ED3;&#x5408;&#x5230;&#x4E00;&#x8D77;&#xFF0C;&#x89C4;&#x5219;&#x5C31;&#x6D88;&#x5931;&#x4E86;&#x3002;&#x53D8;&#x6210;&#x5927;&#x5BB6;&#x7684;&#x4E60;&#x60EF;&#x3002;</li>
</ul>

<p>
&#x8003;&#x8651;&#x5230;&#x56E2;&#x961F;&#x7684;&#x89C4;&#x6A21;&#xFF0C;&#x4EE5;&#x53CA;&#x4EBA;&#x5458;&#x7684;&#x8BA4;&#x77E5;&#x8D1F;&#x62C5;&#x3002;&#x6211;&#x4EEC;&#x6CA1;&#x6709;&#x9009;&#x62E9; <a href="https://nvie.com/posts/a-successful-git-branching-model/" target="_blank" rel="noopener">feature-branch</a> &#x7684;&#x65B9;&#x5F0F;&#xFF0C;&#x800C;&#x662F;&#x4F7F;&#x7528;&#x4E86;&#x4E24;&#x4E2A;&#x4E3B;&#x5206;&#x652F;(dev,master) &#x6765;&#x7EF4;&#x62A4;&#x5F00;&#x53D1;&#x6D41;&#x7A0B;&#x3002;
</p>
</div>
</div>

<div id="outline-container-orgd4fe054" class="outline-2">
<h2 id="orgd4fe054">&#x57FA;&#x672C;&#x8981;&#x6C42;</h2>
<div class="outline-text-2" id="text-orgd4fe054">
<ol class="org-ol">
<li>&#x8981;&#x786E;&#x4FDD;&#x53D1;&#x5E03;&#x7684;&#x8F6F;&#x4EF6;&#x4FDD;&#x6301;&#x7A33;&#x5B9A;&#x3002;</li>
<li>&#x80FD;&#x53CA;&#x65F6;&#x4FEE;&#x590D;&#x7A33;&#x5B9A;&#x7684;&#x8F6F;&#x4EF6;&#x7248;&#x672C;&#x4E0A;&#x7684;&#x7D27;&#x6025;&#x95EE;&#x9898;&#x3002;</li>
<li>&#x540C;&#x65F6;&#x80FD;&#x8FDB;&#x884C;&#x65B0;&#x7684;&#x5F00;&#x53D1;&#x5468;&#x671F;&#x7684;&#x5185;&#x5BB9;</li>
<li>&#x53EA;&#x6D4B;&#x8BD5;&#x7A33;&#x5B9A;&#x7248;&#x672C;&#x4FEE;&#x6539;&#x5185;&#x5BB9;&#xFF0C;&#x6B63;&#x5728;&#x8FDB;&#x884C;&#x7684;&#x5F00;&#x53D1;&#x5468;&#x671F;&#x5F00;&#x53D1;&#x4E2D;&#x7684;&#x7248;&#x672C;&#x4E0D;&#x6D4B;&#x8BD5;&#x3002;&#x56E0;&#x4E3A;&#x6574;&#x5408;&#x4E4B;&#x524D;&#x5F00;&#x53D1;&#x4EBA;&#x5458;&#x53EF;&#x80FD;&#x81EA;&#x5DF1;&#x4F1A;&#x53D1;&#x73B0;&#x4E00;&#x4E9B;&#x95EE;&#x9898;&#xFF0C;&#x4EE5;&#x53CA;&#x9632;&#x6B62;&#x6D4B;&#x8BD5;&#x5230;&#x4E0D;&#x5B8C;&#x6574;&#x7684;&#x529F;&#x80FD;&#x3002;</li>
<li>&#x4FEE;&#x590D; Bug &#x7684;&#x65F6;&#x5019;&#x53EF;&#x4EE5;&#x6839;&#x636E;&#x7D27;&#x6025;&#x60C5;&#x51B5;&#x6765;&#x63A7;&#x5236;&#x4FEE;&#x590D;&#x7684;&#x4EE3;&#x7801;&#x662F;&#x7ACB;&#x5373;&#x53D1;&#x5E03;&#x8FD8;&#x662F;&#x7B49;&#x5F85;&#x5230;&#x4E0B;&#x4E00;&#x4E2A;&#x7248;&#x672C;&#x4E2D;&#x53D1;&#x5E03;&#x3002;</li>
<li>&#x5F00;&#x542F;&#x65B0;&#x7684;&#x5F00;&#x53D1;&#x5468;&#x671F;&#x4E4B;&#x540E;&#x7A33;&#x5B9A;&#x7248;&#x51FA;&#x73B0;&#x91CD;&#x5927;&#xFF0C;&#x6216;&#x8005;&#x7D27;&#x6025; Bug &#x80FD;&#x5728;&#x4E0D;&#x5F71;&#x54CD;&#x539F;&#x6709;&#x5DE5;&#x4F5C;&#x7684;&#x524D;&#x63D0;&#x4E0B;&#x4FEE;&#x590D;&#x95EE;&#x9898;&#x3002;</li>
</ol>
</div>
</div>

<div id="outline-container-orgcbe740b" class="outline-2">
<h2 id="orgcbe740b">&#x57FA;&#x672C;&#x89C4;&#x5219;</h2>
<div class="outline-text-2" id="text-orgcbe740b">
<ul class="org-ul">
<li><p>
&#x5206;&#x652F;&#x4ECB;&#x7ECD;
</p>

<p>
dev: &#x5F00;&#x53D1;&#x5206;&#x652F;&#x3002;&#x5728;&#x5F00;&#x53D1;&#x5468;&#x671F;&#x63A8;&#x8FDB;&#x7684;&#x8FC7;&#x7A0B;&#x4E2D;&#xFF0C;&#x4EE3;&#x7801;&#x90FD;&#x5408;&#x5E76;&#x5230; dev&#x3002;&#x53E6;&#x5916;&#x4E00;&#x4E9B;&#x4E0D;&#x7D27;&#x6025;&#xFF0C;&#x6539;&#x52A8;&#x6BD4;&#x8F83;&#x5927;&#x7684; Bug &#x4FEE;&#x590D;&#xFF0C;&#x4E5F;&#x662F;&#x5408;&#x5E76;&#x5230; dev &#x4E2D;&#x3002;&#x5F53;&#x524D;&#x5F00;&#x53D1;&#x5468;&#x671F;&#x7ED3;&#x675F;&#x4E4B;&#x540E;&#xFF0C;&#x4F1A;&#x6267;&#x884C;&#x4E00;&#x6B21; dev &#x5230; master &#x7684;&#x5408;&#x5E76;&#x3002;&#x5F00;&#x53D1;&#x5468;&#x671F;&#x7ED3;&#x675F;&#x4E4B;&#x540E;&#xFF0C;&#x4F1A;&#x8FDB;&#x5165;&#x4E00;&#x4E2A;&#x4FEE;&#x590D;&#x7684;&#x9636;&#x6BB5;&#xFF0C;&#x6B64;&#x65F6; dev &#x5C31;&#x4E0D;&#x6D3B;&#x8DC3;&#xFF0C;&#x6240;&#x4EE5;&#x53EA;&#x9700;&#x8981;&#x6267;&#x884C;&#x4E00;&#x6B21; dev &#x5230; master &#x7684;&#x5408;&#x5E76;&#x5373;&#x53EF;&#x3002;dev &#x4E2D;&#x6316;&#x7684;&#x5751;&#xFF0C;&#x5728; dev &#x5408;&#x5E76;&#x5230; master &#x4E2D;&#x4E4B;&#x540E;&#x5F53;&#x6210; Bug &#x4FEE;&#x590D;&#x3002;
</p>

<p>
master: &#x7A33;&#x5B9A;&#x7248;&#x5206;&#x652F;&#xFF0C;&#x4EE3;&#x8868;&#x5F53;&#x524D;&#x6700;&#x65B0;&#x7684;&#x7A33;&#x5B9A;&#x7248;&#x3002;&#x4E34;&#x65F6;&#xFF0C;&#x7D27;&#x6025;&#x7684; Bug &#x4FEE;&#x590D;&#xFF0C;&#x76F4;&#x63A5;&#x5F80; Master &#x4E0A;&#x5408;&#x5E76;&#x3002;Master &#x5408;&#x5E76;&#x6D4B;&#x8BD5;&#x901A;&#x8FC7;&#x4E4B;&#x540E;&#xFF0C;&#x5C31;&#x4F1A;&#x8FDB;&#x5165;&#x53D1;&#x5E03;&#x72B6;&#x6001;&#x3002;&#x53E6;&#x5916;&#x5F53;&#x5F00;&#x53D1;&#x5468;&#x671F;&#x7ED3;&#x675F;&#x4E4B;&#x540E;&#xFF0C;&#x5C31;&#x5C06; dev &#x5408;&#x5E76;&#x5230; master &#x4E0A;&#xFF0C;&#x6B64;&#x65F6;&#x5C31;&#x4EA7;&#x751F;&#x4E00;&#x4E2A;&#x5927;&#x7684;&#x7248;&#x672C;&#x66F4;&#x65B0;&#x3002;&#x7ECF;&#x8FC7;&#x4E00;&#x6BB5;&#x65F6;&#x95F4;&#x7684;&#x6D4B;&#x8BD5;&#x7A33;&#x5B9A;&#x4E4B;&#x540E;&#xFF0C;Master &#x5C31;&#x53EF;&#x4EE5;&#x518D;&#x6B21;&#x53D1;&#x5E03;&#x3002;&#x7528;&#x8FD9;&#x79CD;&#x65B9;&#x5F0F;&#x6765;&#x6EDA;&#x52A8;&#x53D1;&#x5E03;&#x7A33;&#x5B9A;&#x7248;&#x672C;&#x3002;&#x6B63;&#x5E38;&#x6765;&#x8BF4; Master &#x53EA;&#x5728; dev &#x5408;&#x5E76;&#x8FDB;&#x6765;&#x4E4B;&#x540E;&#x624D;&#x4F1A;&#x51FA;&#x73B0;&#x9891;&#x7E41;&#x7684;&#x66F4;&#x65B0;&#xFF0C;&#x7528;&#x8FD9;&#x79CD;&#x65B9;&#x5F0F;&#x6765;&#x786E;&#x4FDD; Master &#x7684;&#x7A33;&#x5B9A;&#x6027;&#x3002;
</p>

<p>
&#x8865;&#x5145;&#x5F00;&#x53D1;&#x5468;&#x671F;&#x7684;&#x6982;&#x5FF5;&#xFF0C;&#x6211;&#x4EEC;&#x662F;&#x53C2;&#x8003; <a href="https://www.kernel.org/doc/html/v4.15/process/2.Process.html" target="_blank" rel="noopener">https://www.kernel.org/doc/html/v4.15/process/2.Process.html</a> &#x7684;&#x65B9;&#x5F0F;&#x6765;&#x5DE5;&#x4F5C;&#x7684;&#x3002;
</p></li>

<li><p>
Maintainer
</p>

<p>
&#x6BCF;&#x4E2A;&#x9879;&#x76EE;&#x90FD;&#x6709;&#x4E00;&#x4E2A; Maintainer, &#x4ED6;&#x4F1A;&#x51B3;&#x5B9A;&#x54EA;&#x4E9B;&#x4EE3;&#x7801;&#x662F;&#x5408;&#x5E76;&#x5230; dev &#xFF0C;&#x54EA;&#x4E9B;&#x4EE3;&#x7801;&#x662F;&#x5408;&#x5E76;&#x5230; master&#x3002;&#x5E76;&#x6267;&#x884C; dev &#x5230; Master &#x7684;&#x5408;&#x5E76;&#x903B;&#x8F91;
</p></li>

<li><p>
&#x53D1;&#x5E03;&#x8F6F;&#x4EF6;
</p>

<p>
&#x5F53; Master &#x5206;&#x652F;&#x6709;&#x66F4;&#x65B0;&#x5E76;&#x4E14;&#x7ECF;&#x8FC7;&#x6D4B;&#x8BD5;&#x786E;&#x8BA4;&#x7A33;&#x5B9A;&#x4E4B;&#x540E;&#xFF0C;Maintainer &#x4F1A;&#x6253;&#x4E00;&#x4E2A; tag&#x3002;&#x901A;&#x8FC7;&#x8FD9;&#x4E2A; tag &#x7684; CI &#x6765;&#x81EA;&#x52A8;&#x8FDB;&#x884C;&#x8F6F;&#x4EF6;&#x53D1;&#x5E03;&#x3002;&#x4E0D;&#x8FC7;&#x76EE;&#x524D;&#x6765;&#x8BF4; App &#x7684;&#x53D1;&#x5E03;&#x8FD8;&#x4E0D;&#x80FD;&#x5B8C;&#x5168;&#x81EA;&#x52A8;&#xFF0C;&#x56E0;&#x4E3A;&#x4E0D;&#x540C;&#x7684;&#x5E02;&#x573A;&#x90FD;&#x9700;&#x8981;&#x5355;&#x72EC;&#x63CF;&#x8FF0;&#x66F4;&#x65B0;&#x7684; Changelog, &#x8D70;&#x4E0D;&#x540C;&#x7684;&#x6D41;&#x7A0B;&#x3002;&#x5E94;&#x8BE5;&#x6709;&#x4EBA;&#x5728;&#x505A;&#x8FD9;&#x79CD;&#x7EDF;&#x4E00;&#x53D1;&#x5E03;&#x6D41;&#x7A0B;&#x7684;&#x5DE5;&#x5177;, &#x53EA;&#x662F;&#x6211;&#x8FD8;&#x6CA1;&#x627E;&#x5230;&#x3002;
</p></li>
</ul>
</div>
</div>

<div id="outline-container-org7362690" class="outline-2">
<h2 id="org7362690">&#x603B;&#x7ED3;</h2>
<div class="outline-text-2" id="text-org7362690">
<p>
&#x6211;&#x4EEC;&#x662F;&#x4ECE;&#x5355; master &#x5206;&#x652F;&#x7684; workflow &#x8F6C;&#x6362;&#x5230;&#x5F53;&#x524D;&#x8FD9;&#x4E2A; workflow &#x7684;&#x3002;&#x57FA;&#x672C;&#x4E0A;&#x89E3;&#x51B3;&#x4E86;&#x4E00;&#x4E9B;&#x4E4B;&#x524D;&#x5F00;&#x53D1;&#x8FC7;&#x7A0B;&#x4E2D;&#x56E0;&#x4E3A;&#x4E34;&#x65F6;&#x6027;&#x7684;&#x4FEE;&#x6539;&#x800C;&#x5F71;&#x54CD;&#x5F00;&#x53D1;&#x6D41;&#x7A0B;&#x6B63;&#x5E38;&#x63A8;&#x8FDB;&#x7684;&#x95EE;&#x9898;&#x3002;
</p>
</div>
</div>
</div>

  </section>
</article>

  <div class="sharing grid">
  <section class="profile grid-item grid">
    <img class="avatar" src="https://avatars0.githubusercontent.com/u/1055130?s=460&v=4" alt="avatar">
    <div class="grid-item">
      <p class="title"> 极客世界 </p>
      <p class="subtitle"> 乐聚机器人研发总监 | 黄怀贤 </p>
    <div>
  </div></div></section>

  <section class="share-btns">
      <!-- <p> share it if you like it~ </p> -->
      <!-- <a class="twitter-share-button" data-size="large" data-via="DrakeLeung" href="https://twitter.com/intent/tweet?text=v id=" content">

<di">
  Tweet
</di"></a>

<script>
  window.twttr = (function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0],
    t = window.twttr || {};
  if (d.getElementById(id)) return t;
  js = d.createElement(s);
  js.id = id;
  js.src = "https://platform.twitter.com/widgets.js";
  js.async = true;
  fjs.parentNode.insertBefore(js, fjs);

  t._e = [];
  t.ready = function(f) {
    t._e.push(f);
  };

  return t;
}(document, "script", "twitter-wjs"));
</script>
 -->
  </section>
</div>


  
</main>

</body>
</html>
